Skip to content

Conversation

@T-Dynamos
Copy link
Member

@T-Dynamos T-Dynamos commented Jan 1, 2026

Closes #3137

Notes:

Test code:

import subprocess

def run_process(cmd):
    res = subprocess.run(cmd, capture_output=True, text=True)
    print(res.stdout)
    print(res.stderr)

import os
import sys

print(sys.executable)

# test python
run_process(["python", "--version"])
run_process(["python", "-m", "this"])

# test ffmpeg
run_process(["ffmpeg", "-version"])
run_process([
    "ffmpeg",
    "-f", "lavfi",                 
    "-i", "testsrc=size=128x128:rate=30",
    "-t", "2",                      
    "-c:v", "mpeg4",                
    "-f", "null",                   
    "-"
])

Expected Output:

01-18 01:23:34.409 27559 27580 I python  : ======== Initializing P4A ==========
01-18 01:23:34.409 27559 27580 I python  : Setting additional env vars from p4a_env_vars.txt
01-18 01:23:34.409 27559 27573 I AdrenoGLES-0: PFP: 0x005ff114, ME: 0x005ff066
01-18 01:23:34.430 27559 27580 I python  : Changing directory to '/data/user/0/org.tdynamos.earthfm/files/app'
01-18 01:23:34.431 27559 27580 I python  : symlink: libffmpegbin.so -> ffmpeg
01-18 01:23:34.431 27559 27580 I python  : symlink: libpythonbin.so -> python
01-18 01:23:34.431 27559 27580 I python  : Preparing to initialize python
01-18 01:23:34.431 27559 27580 I python  : _python_bundle dir exists
01-18 01:23:34.431 27559 27580 I python  : set wchar paths...
01-18 01:23:34.454 27559 27573 I Gralloc2: Adding additional valid usage bits: 0x202000
01-18 01:23:34.559 27559 27580 I python  : Initialized python
01-18 01:23:34.560 27559 27580 I python  : testing python print redirection
01-18 01:23:34.564 27559 27580 I python  : Android kivy bootstrap done. __name__ is __main__
01-18 01:23:34.564 27559 27580 I python  : ======= Initialized in 0.155s =======
01-18 01:23:34.698 27559 27580 I python  : /data/user/0/org.tdynamos.earthfm/files/app/.bin/python
01-18 01:23:34.763 27559 27580 I python  : Python 3.14.2
01-18 01:23:34.763 27559 27580 I python  : 
01-18 01:23:34.763 27559 27580 I python  : 
01-18 01:23:34.943 27559 27580 I python  : The Zen of Python, by Tim Peters
01-18 01:23:34.943 27559 27580 I python  : 
01-18 01:23:34.943 27559 27580 I python  : Beautiful is better than ugly.
01-18 01:23:34.943 27559 27580 I python  : Explicit is better than implicit.
01-18 01:23:34.943 27559 27580 I python  : Simple is better than complex.
01-18 01:23:34.943 27559 27580 I python  : Complex is better than complicated.
01-18 01:23:34.943 27559 27580 I python  : Flat is better than nested.
01-18 01:23:34.943 27559 27580 I python  : Sparse is better than dense.
01-18 01:23:34.943 27559 27580 I python  : Readability counts.
01-18 01:23:34.943 27559 27580 I python  : Special cases aren't special enough to break the rules.
01-18 01:23:34.943 27559 27580 I python  : Although practicality beats purity.
01-18 01:23:34.943 27559 27580 I python  : Errors should never pass silently.
01-18 01:23:34.943 27559 27580 I python  : Unless explicitly silenced.
01-18 01:23:34.943 27559 27580 I python  : In the face of ambiguity, refuse the temptation to guess.
01-18 01:23:34.943 27559 27580 I python  : There should be one-- and preferably only one --obvious way to do it.
01-18 01:23:34.943 27559 27580 I python  : Although that way may not be obvious at first unless you're Dutch.
01-18 01:23:34.943 27559 27580 I python  : Now is better than never.
01-18 01:23:34.943 27559 27580 I python  : Although never is often better than *right* now.
01-18 01:23:34.943 27559 27580 I python  : If the implementation is hard to explain, it's a bad idea.
01-18 01:23:34.943 27559 27580 I python  : If the implementation is easy to explain, it may be a good idea.
01-18 01:23:34.943 27559 27580 I python  : Namespaces are one honking great idea -- let's do more of those!
01-18 01:23:34.944 27559 27580 I python  : 
01-18 01:23:34.944 27559 27580 I python  : 
01-18 01:23:35.333 27559 27580 I python  : ffmpeg version 8.0.1 Copyright (c) 2000-2025 the FFmpeg developers
01-18 01:23:35.333 27559 27580 I python  : built with Android (13624864, +pgo, +bolt, +lto, +mlgo, based on r530567e) clang version 19.0.1 (https://android.googlesource.com/toolchain/llvm-project 97a699bf4812a18fb657c2779f5296a4ab2694d2)
01-18 01:23:35.333 27559 27580 I python  : configuration: --enable-jni --enable-mediacodec --enable-version3 --enable-openssl --enable-nonfree --enable-protocol='https,tls_openssl' --enable-parser='aac,ac3,h261,h264,mpegaudio,mpeg4video,mpegvideo,vc1' --enable-decoder='aac,h264,mpeg4,mpegvideo' --enable-muxer='h264,mov,mp4,mpeg2video' --enable-demuxer='aac,h264,m4v,mov,mpegvideo,vc1,rtsp' --disable-symver --disable-doc --enable-filter='aresample,resample,crop,adelay,volume,scale' --enable-protocol='file,http,hls,udp,tcp' --enable-small --enable-hwaccels --enable-pic --disable-static --disable-debug --enable-shared --target-os=android --enable-cross-compile --cross-prefix=aarch64-linux-android24- --arch=aarch64 --strip=/home/tdynamos/.buildozer/android/platform/android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip --nm=/home/tdynamos/.buildozer/android/platform/android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-nm --sysroot=/home/tdynamos/.buildozer/android/platform/android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/sysroot --enable-neon --prefix=/home/tdynamos/EarthFM/.buildozer/android/platform/build-arm64-v8a/build/other_builds/ffmpeg-sdl3/arm64-v8a__ndk_target_24/ffmpeg

@T-Dynamos T-Dynamos marked this pull request as draft January 1, 2026 17:07
@T-Dynamos T-Dynamos force-pushed the ffmpeg_bin branch 3 times, most recently from 5049854 to 4e749d1 Compare January 3, 2026 06:28
@T-Dynamos T-Dynamos changed the title ffmpeg: include executable ffmpeg, python3: include executable Jan 3, 2026
@T-Dynamos T-Dynamos force-pushed the ffmpeg_bin branch 3 times, most recently from 88c6be8 to d4c2223 Compare January 3, 2026 08:47
@kuzeyron
Copy link
Contributor

Are you still working on this ?

@T-Dynamos
Copy link
Member Author

Are you still working on this ?

Not really, I still have to add docs for this PR. Currently not working on this (busy on other stuff)

You can take over this if you want. :D

@kuzeyron
Copy link
Contributor

Ah okay!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Is there a way to include ffmpeg in an Android app?

2 participants